package com.yeskery.nut.extend.mcp.core;

import com.yeskery.nut.extend.mcp.core.schema.ContentSchema;

import java.util.List;

/**
 * Mcp执行异常处理结果
 * @author sprout
 * 2025-05-07 10:21
 */
public class ExecuteExceptionResult {

    /** 是否有错误，如果为<code>true</code>时，会直接向客户端返回error信息，如果为<code>false</code>时，会想客户端正常返回错误的content。 */
    private Boolean isError;

    /** 错误信息，优先使用{@link #contents}属性 */
    private String message;

    /** 错误内容 */
    private List<ContentSchema.Content> contents;

    /**
     * 获取是否有错误
     * @return 是否有错误
     */
    public Boolean getIsError() {
        return isError;
    }

    /**
     * 设置是否有错误
     * @param error 是否有错误
     */
    public void setIsError(Boolean error) {
        isError = error;
    }

    /**
     * 获取错误信息
     * @return 错误信息
     */
    public String getMessage() {
        return message;
    }

    /**
     * 设置错误信息
     * @param message 错误信息
     */
    public void setMessage(String message) {
        this.message = message;
    }

    /**
     * 获取错误内容
     * @return 错误内容
     */
    public List<ContentSchema.Content> getContents() {
        return contents;
    }

    /**
     * 设置错误内容
     * @param contents 错误内容
     */
    public void setContents(List<ContentSchema.Content> contents) {
        this.contents = contents;
    }
}
